home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- # $Header: /home/jerry/.bin/RCS/reheader,v 1.0 92/08/10 11:35:10 jerry mh_contrib $
- ### reheader - "move header" in MH message by adding "X-Original-line:"
- ### Usage: reheader [msg]
- ##
- ## SOME MESSAGES, ESPECIALLY MAIL MESSAGES THAT WERE FORWARDED FROM A
- ## PROGRAM LIKE UNIX mail, HAVE A LOT OF LINES OF JUNK (OR MAYBE EVEN
- ## AN EXTRA HEADER) AT THE TOP. THE HEADER YOU REALLY WANT IS BURIED
- ## DOWN IN THE MESSAGE. BUT IT'S NOT ALWAYS A GOOD IDEA TO EDIT THE
- ## MESSAGE AND DELETE THE EXTRA JUNK; YOU MIGHT NEED IT.
- ##
- ## reheader WORKS AROUND THE PROBLEM BY ADDING DUMMY HEADERS TO THE START
- ## OF EVERY LINE YOU WANT TO IGNORE. THE MESSAGE WILL LOOK LIKE THIS:
- ##
- ## X-Original-Text: Received: by rock.ora.com (5.65c/Spike-2.1)
- ## X-Original-Text: id AA01408; Mon, 27 Apr 1992 08:28:06 -0700
- ## X-Original-Text: Date: Mon, 27 Apr 1992 08:28:06 -0700
- ## X-Original-Text: From: awilda@rock.ora.com (Awilda Scott)
- ## X-Original-Text: Message-Id: <199204271528.AA01408@rock.ora.com>
- ## X-Original-Text: To: jerry@rock.ora.com
- ## X-Original-Text: Subject: news admin guidelines
- ## X-Original-Text:
- ## X-Original-Text: >From daemon@ora.com Sun Apr 26 21:11:57 1992
- ## Received: by rock.ora.com (5.65c/Spike-2.1)
- ## id AA00811; Sun, 26 Apr 1992 21:11:57 -0700
- ## From: xxx@yyy.cc.purdue.edu (Joe Doe)
- ## To: nuts@ora.com
- ## Subject: Question about news
- ##
- ## WHEN YOU USE repl, IT WILL REPLY TO THE ORIGINAL SENDER (LIKE Joe Doe)
- ## WHEN YOU USE scan, IT WILL scan THE ORIGINAL MESSAGE.
- ## FOR SHOWING AND FORWARDING YOUR MESSAGES, USE mhl AND THIS LINE:
- ## ignores=x-original-text
- ## THE ORIGINAL TEXT WILL BE THERE IF YOU NEED IT, BUT OTHER MH COMMANDS
- ## WILL IGNORE IT.
- #
- # NOTE TO HACKERS: TABSTOPS SET AT 4 IN THIS CODE
- #
- # USE AT YOUR OWN RISK. SEEMS TO WORK, BUT IT'S YOUR RESPONSIBILITY!
- # PLEASE TELL ME ABOUT BUGS AND FIXES: Jerry Peek, jerry@ora.com
-
- pager=${PAGER-less} # USE $PAGER AS PAGER, DEFAULT TO less
- numberer="cat -n" # IF YOU DON'T HAVE THIS, USE pr -t -n
-
- # UNCOMMENT THE RIGHT LINE FOR YOUR UNIX:
- # echo="echo -n" nnl= # BSD
- # echo=echo nnl="\c" # SYSV
- echo="echo -n" nnl= PATH=/usr/bin:$PATH; export PATH # SunOS
-
- msg="`mhpath ${1-cur}`" # SHOULD REALLY BE BETTER!
- if [ ! -r "$msg" ] ; then
- echo "`basename $0` quitting: can't read message $msg." 1>&2
- exit 1
- fi
-
- echo "Pick last line number which should be commented out:"
- $numberer $msg | $pager
- $echo "Enter last line number to comment out; or 0 or RETURN to quit: $nnl"
- read lastline
- # THIS SHOULD DO MORE CHECKING!
- case "$lastline" in
- 0|"")
- echo "`basename $0`: quitting." 1>&2
- exit 1
- ;;
- *) # EDIT MESSAGE:
- /bin/ed - "$msg" <<- ENDOFSCR
- 1,${lastline}s/^/X-Original-Text: /
- w
- ENDOFSCR
- exit # WITH ed STATUS... PROBABLY ALWAYS 0, SIGH
- ;;
- esac
-